package com.sf.asp.service;


import com.sf.asp.entity.User;
import com.sf.asp.entity.dto.DeleteDTO;
import com.sf.asp.entity.dto.PageDTO;
import com.sf.asp.entity.dto.UserDTO;
import com.sf.asp.entity.dto.UserQueryDTO;
import com.sf.asp.entity.vo.PageInfo;
import com.sf.asp.entity.vo.UserVO;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jins
 * @since 2021-11-24
 */
public interface UserService {

    /**
     * 获取所有的用户列表数据
     * @return 数据分页数据信息
     * @param param 查询参数参数
     */
    PageInfo listUser(UserQueryDTO param);

    /**
     * 保存用户数据信息
     * @param userParam 用户参数
     */
    void saveUser(UserDTO userParam);


    /**
     * 根据用户id获取用户信息
     * @param userId 用户id
     * @return user信息
     */
    UserVO getUserById(Integer userId);

    /**
     * 修改用户信息
     * @param userParam  用户参数
     */
    void editUser(UserVO userParam);


    /**
     * 批量删除用户信息
     * @param userIds 用户id
     */
    void deleteUsers(DeleteDTO userIds);

    /**
     * 根据用户名获取用户信息
     * @param username 用户名
     * @return User
     */
    User getUserByUsername(String username);

}
